package fc.sj.study.activity;

import android.content.Context;
import android.webkit.WebView;

/**
 * @author gyw
 * @version 1.0
 * @time: 2015-12-25 下午1:08:25
 * @fun:
 * @fix: 修改加载失败后的中午显示
 */
public class ProgressWebView extends WebView {
    public ProgressWebView(Context context) {
        super(context);
    }
//
//    WebView mWebView;
//
//    ProgressBar mProgressBar;
//
//    SwipeRefreshLayout mRefreshLayout;
//
//    private Context mContext;
//
//    private String url;
//    private String lastUrl;
//    private String errorUrl;
//    private OnTitleListener onTitleListener;
//
////	private String errorHtml = "<html><head><meta charset='UTF-8'></head><body><br><br><br><br><br><br><br><div align='center' style='font-size: smaller'  onclick='window.android.refresh()' ><a href='http://www.baidu.com' style='text-decoration: none'>暂无数据 <br/> 点击调用android方法 </a></div></body></html>";
//
////	@JavascriptInterface
////	public void refresh() {
////		Toast.makeText(mContext, "js 调用方法", Toast.LENGTH_SHORT).show();
////	}
//
//
//    public ProgressWebView(Context context) {
//        this(context, null);
//    }
//
//
//    public ProgressWebView(Context context, AttributeSet attrs) {
//        this(context, attrs, 0);
//    }
//
//    public ProgressWebView(Context context, AttributeSet attrs, int defStyle) {
//        super(context, attrs, defStyle);
//        this.mContext = context;
//        initView(context);
//        mRefreshLayout.setColorScheme(R.color.colorAccent);
//        mRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
//            @Override
//            public void onRefresh() {
//                mWebView.loadUrl(TextUtils.isEmpty(lastUrl)?mWebView.getUrl():lastUrl);
//            }
//        });
//    }
//
//    public void setOnTitleListener(OnTitleListener onTitleListener) {
//        this.onTitleListener = onTitleListener;
//    }
//
//    public void setErrorUrlType(int type) {
//        if (type == 0) {//0管理
//            errorUrl = "file:///android_asset/404/404.html";
//        } else {//其它正常
//            errorUrl = "file:///android_asset/404/404normal.html";
//        }
//    }
//
//    private void initView(Context context) {
//        View.inflate(context, R.layout.view_web_progress, this);
//        mWebView = (WebView) findViewById(R.id.web_view);
//        mProgressBar = (ProgressBar) findViewById(R.id.progress_bar);
//        mRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.sfr_refresh_layout);
//    }
//
//    public String getUrl() {
//        return url;
//    }
//
//    public void setUrl(String url) {
//        this.url = url;
//    }
//
//    public void loadUrl(String url) {
//        if (url == null) {
//            url = "http://www.591zdi.com/ASP_DFW/index2.asp";
//        }
//        initWebview(url);
//    }
//
//
//    private void initWebview(String url) {
//
//        mWebView.addJavascriptInterface(this, "android");
//
//        WebSettings webSettings = mWebView.getSettings();
//
//        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
//            webSettings.setMixedContentMode(MIXED_CONTENT_COMPATIBILITY_MODE);
//        }
//
//        webSettings.setJavaScriptEnabled(true);
//        // 设置可以访问文件
//        webSettings.setAllowFileAccess(true);
//        // 设置可以支持缩放
//        webSettings.setSupportZoom(true);
//        // 设置默认缩放方式尺寸是far
//        webSettings.setDefaultZoom(WebSettings.ZoomDensity.MEDIUM);
//        // 设置出现缩放工具
//        webSettings.setBuiltInZoomControls(false);
//        webSettings.setDefaultFontSize(16);
//
////        if (Build.VERSION.SDK_INT <= 18) {
//            webSettings.setSavePassword(false);
////        }
////
//        //取消滚动条
//        mWebView.setHorizontalScrollBarEnabled(false);//水平不显示
//        mWebView.setVerticalScrollBarEnabled(false); //垂直不显示
//
//        mWebView.loadUrl(url);
//
//
//        // 设置WebViewClient
//        mWebView.setWebViewClient(new WebViewClient() {
//            // url拦截
//            @Override
//            public boolean shouldOverrideUrlLoading(WebView view, String url) {
//                // 使用自己的WebView组件来响应Url加载事件，而不是使用默认浏览器器加载页面
//                view.loadUrl(url);
//                // 相应完成返回true
//                return true;
//                // return super.shouldOverrideUrlLoading(view, url);
//            }
//
////            @Override
////            public void onReceivedHttpError(WebView view, WebResourceRequest request, WebResourceResponse errorResponse) {
////                if (!view.getUrl().startsWith("file")) {
////                    lastUrl = view.getUrl();
////                }
////                view.loadUrl(errorUrl);
////            }
//
//            @Override
//            public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
//                if (!view.getUrl().startsWith("file")) {
//                    lastUrl = view.getUrl();
//                }
//                view.loadUrl(errorUrl);
//            }
//
//            // 页面开始加载
//            @Override
//            public void onPageStarted(WebView view, String url, Bitmap favicon) {
//                mProgressBar.setVisibility(View.VISIBLE);
//                if (onTitleListener != null) {
//                    onTitleListener.onBeforeLoad(url);
//                }
//                super.onPageStarted(view, url, favicon);
//            }
//
//            // 页面加载完成
//            @Override
//            public void onPageFinished(WebView view, String url) {
//                mProgressBar.setVisibility(View.GONE);
//                if (!view.getUrl().startsWith("file")) {
//                    lastUrl = null;
//                }
//            }
//
//            // WebView加载的所有资源url
//            @Override
//            public void onLoadResource(WebView view, String url) {
//                super.onLoadResource(view, url);
//            }
//
//        });
//
//        // 设置WebChromeClient
//        mWebView.setWebChromeClient(new WebChromeClient() {
//            @Override
//            // 处理javascript中的alert
//            public boolean onJsAlert(WebView view, String url, String message, final JsResult result) {
//                return super.onJsAlert(view, url, message, result);
//            }
//
//            @Override
//            // 处理javascript中的confirm
//            public boolean onJsConfirm(WebView view, String url, String message, final JsResult result) {
//                return super.onJsConfirm(view, url, message, result);
//            }
//
//            ;
//
//            @Override
//            // 处理javascript中的prompt
//            public boolean onJsPrompt(WebView view, String url, String message, String defaultValue, final JsPromptResult result) {
//                return super.onJsPrompt(view, url, message, defaultValue, result);
//            }
//
//
//            // 设置网页加载的进度条
//            @Override
//            public void onProgressChanged(WebView view, int newProgress) {
//                mProgressBar.setProgress(newProgress);
//                if (newProgress >= 100 && mRefreshLayout.isRefreshing()) {
//                    mRefreshLayout.setRefreshing(false);
//                }
//                super.onProgressChanged(view, newProgress);
//            }
//
//
//            // 设置程序的Title
//            @Override
//            public void onReceivedTitle(WebView view, String title) {
//                if (onTitleListener != null) {
//                    onTitleListener.OnTitle(title);
//                }
//            }
//        });
//        mWebView.setOnKeyListener(new OnKeyListener() {
//            @Override
//            public boolean onKey(View v, int keyCode, KeyEvent event) {
//                if (event.getAction() == KeyEvent.ACTION_DOWN) {
//                    if (keyCode == KeyEvent.KEYCODE_BACK && mWebView.canGoBack()) { // 表示按返回键
//
//                        mWebView.goBack(); // 后退
//
//                        // webview.goForward();//前进
//                        return true; // 已处理
//                    }
//                }
//                return false;
//            }
//        });
//    }
//
//    public boolean canBack() {
//        if (mWebView.canGoBack()) {
//            mWebView.goBack();
//            return false;
//        }
//        return true;
//    }
//
//
//
//    @JavascriptInterface
//    public void toDial(String phoneNum) {
//        Intent intent = new Intent(Intent.ACTION_DIAL);
//        Uri data = Uri.parse("tel:" + phoneNum);
//        intent.setData(data);
//        getContext().startActivity(intent);
//    }
//
//    public interface OnTitleListener{
//        void OnTitle(String title);
//
//        void onBeforeLoad(String url);
//    }
}
